package com.pic.mgt.manager.terminal;

/**
 * 當端末管理(TerminalManager)有對端末進行管理動作(新增或移除端末)時，
 * 會進行通知。
 * @author p10118178
 *
 */
public interface TerminalManagementListener {
	
	/**
	 * 當端末管理(TerminalManager)執行完端末同步"後",會進行通知。
	 */
	public void afterSynchronizeTerminalNotify();
	
	/**
	 * 當端末管理(TerminalManager)動態新增完一個新的端末"後"，會進行通知。
	 * @param newTerminalIdStr
	 */
	public void afterDynamicAddedTerminalNotify(BasicTerminalInfoBean addedBasicTerminalInfoBean);
	
	/**
	 * 當端末管理(TerminalManager)因進行同步化過程當中，新增完一個新的端末"後"，會進行通知。
	 * @param addedBasicTerminalInfoBean
	 */
	public void afterSynchronizeAddedTerminalNotify(BasicTerminalInfoBean addedBasicTerminalInfoBean);
	
	/**
	 * 當端末管理(TerminalManager)在動態移除一個端末"前"，會進行通知。
	 * @param toBeRemovedTerminalIdStr
	 */
	public void beforeDynamicRemovedTerminalNotify(String toBeRemovedTerminalIdStr);
	
	/**
	 * 當端末管理(TerminalManager)因進行同步化過程當中，在要移除一個端末"前"，會進行通知。
	 * @param toBeRemovedTerminalIdStr
	 */
	public void beforeSynchronizeRemovedTerminalNotify(String toBeRemovedTerminalIdStr);
	
	/**
	 * 端末管理(TerminalManager)通知有端末已失效。
	 * @param outOfDayBasicTerminalInfoBean
	 */
	public void terminalOutOfDateNotify(BasicTerminalInfoBean outOfDayBasicTerminalInfoBean);
}
